package main

import "fmt"

func main() {
	var map1 map[string]int
	fmt.Printf("%T, %v, %d, %t\n", map1, map1, len(map1), map1 == nil)
	fmt.Println("-----------------------------------------------")
	map2 := make(map[string]string)
	map2["username"] = "chj"
	map2["age"] = "20"
	map2["sex"] = "男"
	fmt.Printf("%T, %v, %d\n", map2, map2, len(map2))
	fmt.Println("-----------------------------------------------")
	var map3 = map[string]int{
		"username": 100,
		"age":      34,
	}
	fmt.Printf("%T, %v, %d\n", map3, map3, len(map3))
	fmt.Println("-----------------------------------------------")
	for key, val := range map3 {
		fmt.Printf("key: %v, value: %v\n", key, val)
	}
	fmt.Println("-----------------------------------------------")
	//map类型的切片
	var mapSlice = make([]map[string]string, 3)
	mapSlice[0] = map[string]string{
		"username": "chj",
		"age":      "20",
	}
	mapSlice[1] = map[string]string{
		"username": "ssy",
		"age":      "21",
	}
	for _, val := range mapSlice {
		for key, value := range val {
			fmt.Printf("key: %v, value: %v\n", key, value)
		}
	}
}
